/**
 * WebSocket 模块初始化
 * 统一管理所有相关模块的初始化
 */

import { initWebSocket, disconnectWebSocket } from './index'

/**
 * 初始化WebSocket模块
 */
export function initWebSocketModule(): void {
    // 防止重复初始化
    if ((window as any).__WEBSOCKET_INITIALIZED__) {
        console.log('WebSocket模块已经初始化，跳过重复初始化')
        return
    }

    console.log('=== 初始化WebSocket模块 ===')

    try {
        // 初始化WebSocket连接
        initWebSocket()

            // 标记为已初始化
            ; (window as any).__WEBSOCKET_INITIALIZED__ = true

        console.log('WebSocket模块初始化完成')
    } catch (error) {
        console.error('WebSocket模块初始化失败:', error)
        throw error
    }
}

/**
 * 销毁WebSocket模块
 */
export function destroyWebSocketModule(): void {
    console.log('=== 销毁WebSocket模块 ===')

    try {
        // 断开WebSocket连接
        disconnectWebSocket()

            // 清除初始化标记
            ; (window as any).__WEBSOCKET_INITIALIZED__ = false

        console.log('WebSocket模块销毁完成')
    } catch (error) {
        console.error('WebSocket模块销毁失败:', error)
    }
}

// 默认导出初始化函数
export default initWebSocketModule
